package com.xiehospital.common.core.domain.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xiehospital.common.annotation.Excel;
import com.xiehospital.common.core.domain.BaseEntity;

/**
 * 患者信息对象 sys_patient
 *
 * @author Xierujian
 * @date 2024-02-25
 */
public class SysPatient extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 患者ID */
    private Long patientId;

    /** 患者姓名 */
    @Excel(name = "患者姓名")
    private String patientName;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCard;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phonenumber;

    /** 入院日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入院日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date admissionDate;

    /** 出院日期（如果适用） */
    @Excel(name = "出院日期", readConverterExp = "如=果适用")
    private Date dischargeDate;

    /** 医生id */
    @Excel(name = "医生id")
    private Long doctorId;

    /** 护士id */
    @Excel(name = "护士id")
    private Long nurseId;

    /** 床位id */
    @Excel(name = "床位id")
    private Long bedId;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 是否入住（0未入住，1已入住） */
    @Excel(name = "是否入住", readConverterExp = "0=未入住，1已入住")
    private Integer checkedIn;

    public Integer getCheckedIn() {
        return checkedIn;
    }

    public void setCheckedIn(Integer checkedIn) {
        this.checkedIn = checkedIn;
    }

    public void setPatientId(Long patientId)
    {
        this.patientId = patientId;
    }

    public Long getPatientId()
    {
        return patientId;
    }
    public void setPatientName(String patientName)
    {
        this.patientName = patientName;
    }

    public String getPatientName()
    {
        return patientName;
    }

    public void setIdCard(String idCard)
    {
        this.idCard = idCard;
    }

    public String getIdCard()
    {
        return idCard;
    }
    public void setPhonenumber(String phonenumber)
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber()
    {
        return phonenumber;
    }
    public void setAdmissionDate(Date admissionDate)
    {
        this.admissionDate = admissionDate;
    }

    public Date getAdmissionDate()
    {
        return admissionDate;
    }
    public void setDischargeDate(Date dischargeDate)
    {
        this.dischargeDate = dischargeDate;
    }

    public Date getDischargeDate()
    {
        return dischargeDate;
    }
    public void setDoctorId(Long doctorId)
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId()
    {
        return doctorId;
    }
    public void setNurseId(Long nurseId)
    {
        this.nurseId = nurseId;
    }

    public Long getNurseId()
    {
        return nurseId;
    }
    public void setBedId(Long bedId)
    {
        this.bedId = bedId;
    }

    public Long getBedId()
    {
        return bedId;
    }
    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getRemark()
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("patientId", getPatientId())
                .append("patientName", getPatientName())
                .append("idCard", getIdCard())
                .append("phonenumber", getPhonenumber())
                .append("admissionDate", getAdmissionDate())
                .append("dischargeDate", getDischargeDate())
                .append("doctorId", getDoctorId())
                .append("nurseId", getNurseId())
                .append("bedId", getBedId())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("checkedIn", getCheckedIn())
                .toString();
    }
}
